﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Subgurim.Controles;
using ApuestaJMG.GUI.Contrato;
using ApuestaJMG.GUI.Presentador;
using ApuestasJMG.GUI.Presentador;
using ApuestasJMG.GUI.Contrato;

namespace ApuestasJMG.GUI.Vista
{
    public partial class RegistroMaquinaLocation : System.Web.UI.Page,IContratoRegistroMaquinaLocation
    {
        #region Atributos
       
        String variable;
        GLatLng puntero;
        #region Atributos

        
        #endregion

        #region Implementacion de IContratoCrearLocacion
       

        public TextBox Estado
        {
            get { return estado; }
        }

        public TextBox Ciudad
        {
            get { return ciudad; }
        }

        public TextBox Calle
        {
            get { return calle; }
        }

        public TextBox NombreLocal
        {
            get { return nombreLocal; }
        }

        public TextBox NumeroLocal
        {
            get { return numeroLocal; }
        }

       

        public TextBox Correo
        {
            get { return correo; }
        }

        public TextBox CodigoArea
        {
            get { return codigoA; }
        }

        public TextBox Telefono
        {
            get { return telefono; }
        }

    

       

        public Label Error
        {
            get { return errorLabel; }
        }

        public Button AceptarCrear
        {
            get { return aceptarCrear; }
        }

        public HiddenField VariableRedirection
        {
            get { return variableRedirect; }
        }

      
        #endregion

       
        #region Implementacion de IContrato
        public GMap GoogleMap
        {
            get { return GMapa; }
            set { GMapa = value; }
        }

        #endregion



               private PresentadorRegistroMaquinaLocation _presentadorAgregarMaquina;


        public RegistroMaquinaLocation()
        {
           _presentadorAgregarMaquina =
                new PresentadorRegistroMaquinaLocation(this);
        }


        #region Metodos
      /*  private void Page_PreInit(object sender, System.EventArgs e)
        {
            if (Session["entidadEmpresa"] == null && Session["entidadPersona"] == null)
            {
                Response.Redirect("SesionCerrada.aspx");
            }
        }
        */
        protected void Page_Load(object sender, EventArgs e)
        {
            
            variable = Request.QueryString["Redireccion"];
            variableRedirect.Value = variable;
            this.telefono.Attributes.Add("onkeypress", "return GetValidatorByString(event)");
            
            _presentadorAgregarMaquina.CargarMapa();
        }

        /// <summary>
        /// Captura el evento del arrastre del pin y obtiene las coordenadas geográficas
        /// </summary>
        /// <param name="mensaje">Eventos del pin (marcador de google maps)</param>
        protected string GMapa_ServerEvent(object s, GAjaxServerEventOtherArgs e)
        {
            if (!IsPostBack)
            {
                GLatLng point = GAjaxServerEventArgs.latlngFromString(e.eventArgs[0]);
                GLatLng center = e.center;
                Session["punto"] = point;
            }
            return string.Empty;
        }

        protected void aceptar_Click(object sender, EventArgs e)
        {
            puntero = (GLatLng)Session["punto"];
            _presentadorAgregarMaquina.ClickAceptar(puntero);            
        }

        /*protected void cancelar_Click(object sender, EventArgs e)
        {
            _presentadorAgregarMaquina.ClickCancelar();
        }*/

        #endregion

        public void Redireccionar(string url)
        {
            Response.Redirect(url); ;
        }
    }
        #endregion
}